package dto

import (
	"github.com/bwmarrin/snowflake"
	"log"
	"time"
)

var node *snowflake.Node

// InitSnowflake 初始化雪花算法配置
func InitSnowflake(startTime string, machineId int64) {
	var st time.Time
	st, err := time.Parse("2006-01-02", startTime)
	if err != nil {
		log.Fatal(err)
	}
	snowflake.Epoch = st.UnixNano() / 1e6
	node, err = snowflake.NewNode(machineId)
	if err != nil {
		log.Fatal(err)
	}
}

// GenID 生成 64 位的 雪花ID
func GenID() int64 {
	return node.Generate().Int64()
}
